
              **********
              * TempEd *
              **********

         Tempest Level Editor

               Ver 0.6


         (c) 2005 Simon Mills

  http://www.thundercross.freeserve.co.uk

E-mail : temped@thundercross.freeserve.co.uk


Introduction
------------

TempEd is a Windows editing utility for Atari's 1980 arcade game Tempest. The edited ROM files produced are designed to be used with an emulator such as MAME. Their use with a real arcade version of Tempest is untested.

In order to create new levels, you will need access to ROM images of Tempest. Where you get these from is your business, I cannot supply them and TempEd should not be distributed with them.

TempEd is freeware. You may distribute it freely within the following restrictions:
	- You may not distribute it with any Tempest ROM images.
	- You may not charge for it.
	- You may not modify any of the files in any way.
	- You must distribute it with all of the files in the original zip archive.


What's New in V0.6
------------------

New text editing system - colour, size and position of text messages can now be changed.


What's New in V0.52
-------------------

Ability to change the colours of the player, the levels and the enemies.


What's New in V0.51
-------------------

Ability to edit text messages has been added.
Can now modify Tempest levels in Hasbro's 'Atari Arcade Hits : Volume 1'.


Installation
------------

Unzip the archive into a suitably named directory. There should be 3 files : ReadMe.TXT (this file), TempEd.EXE (the editor) and TempEd.TLD (an example set of levels). The TLD file only contains level geometry, it does not contain any Tempest ROM data.


System Requirements
-------------------

Windows 95 or later.
To play your levels you will need Tempest ROM images and a suitable emulator such as MAME.


Usage
-----

Start the editor by double-clicking on TempEd.EXE. The editor's 'attract mode' will begin. During this phase, the only available commands are on the 'File' menu.

Once you have loaded some data (either a TLD file or a 118 file), you will see all the levels in a 4x4 grid. Click one with the left mouse button to select it.

The level will now appear in a similar fashion to how it looks in the game. The grey box is the 'bounding box' - this represents the limits of the arcade game's co-ordinate range. All of the points of the level must be within this box. The purple lines are the 'safe frame' - all of the arcade's original levels lie within these limits. If your levels go outside these lines, they may go off-screen.

Use the menu commands and keys described below to alter the level. When you are happy and wish to play your levels, choose the 'Save ROM' option on the 'File' menu. If this option is greyed out, it means you have not previously loaded any ROM data. In this case, save your levels as a TLD file, load a 118 file and then re-load your TLD file. You will now be able to save your data as a 118 ROM file.

To play your levels in MAME, you must first have a complete set of Tempest ROM images. If they are in a zip file, you must unzip them. Make a backup of the file '136002.118' as this contains the original levels for the game. Name your own ROM file '136002.118'. Now, when you run Tempest in MAME, you will play the new levels. Alternatively, you can name your ROM file 'Tube.118'. This will replace the levels of the Tempest Tubes variant. Run Tempest Tubes to play the new levels. In both cases, you will get a CRC error in DOS MAME - this is to be expected, and is not a problem.

Well, actually it is a problem. Tempest detects the altered ROMs, and tends to crash when you reach 150,000 points. If this is a problem, use the 'Hack Protection' option on the 'Edit Colours' dialog. This will raise the trigger level to 990,000 points.

Happy editing!


File Types
----------

For level data, TempEd supports two file types : *.118 and *.TLD. 118 files are ROM images, the data Tempest needs to run. You must supply an initial 118 file in order to modify it. TLD files only contain level geometry, and they store data at a higher accuracy than 118 files. It is recommended that you use TLD files to save your work, saving out a 118 file when you want to play the new levels.

To save out a 118 file, you must have first loaded a 118 file. You can use Tempest's original file (136002.118), the one from Tempest Tubes (Tube.118) or one you have previously created.

Text messages are stored as *.121 files. The file '136002.121' is the one the emulator will use, so you will need to overwrite this in order to see new messages. Be sure to make a backup of the original file.

The Tempest emulator in Hasbro's 'Atari Arcade Hits' comes as both an executable (Tempest.exe) and a screensaver (Tempest.scr). You must have access to a properly installed version of this package in order to modify them. When saving, you may use any filename you wish. Note that TempEd has only been tested with V1.1 of 'Atari Arcade Hits'. A patch to upgrade to this version is available from www.atari.com.


Menu Options
------------


'File' Menu
-----------

Load ROM			- loads a ROM *.118 file.

You must supply the initial ROM file.

Load TLD			- loads a *.TLD file.

This contains level data only. TempEd comes supplied with an example file, 'TempEd.TLD'.

Save ROM			- saves a ROM *.118 file.

You must have previously loaded a 118 file in order to do this. To play your levels with MAME, you will need to name it either '136002.118' or 'Tube.118'.

Save TLD			- saves a *.TLD file.

You must have previously loaded some data in order to do this, either a 118 file or another TLD file.

Hack 'Atari Arcade Hits'	- modifies the Hasbro Tempest emulator.

This option allows you to save data into a modified version of the Tempest emulator that comes with Hasbro's 'Atari Arcade Hits' (referred to from now on as 'AAH'). You will be prompted to load either the executable or screensaver version of this program. Once loaded, a dialog box appears which allows you to select which set of levels to replace. AAH contains both the original levels and Tempest Tubes, and you can replace either.
The dialog also allows you to include modified text messages. If you have not edited any messages, the check box will be disabled. If you click on 'OK', you will be prompted to save the modified file. Since AAH is a standalone program, you may give it any filename. The modified program will share the configuration of the unmodified one.
If you wish to replace BOTH sets of levels in AAH, you should replace the first set as normal. Then, load up your second set of levels and select the 'Hack AAH' option. Now choose the modified AAH file and replace the other set of levels.

Edit Colours			- edit Tempest's colour tables.

You will be prompted to load a *.119 file. This ROM file contains the colour tables used to decide what colours the levels and enemies are drawn in. During play, every 16 levels the game goes to the next 'cycle' and the colours change. The dialog contains a grid of buttons that represent the colour of a particular item (Level, Flipper, etc.) for a given cycle. Clicking one of these buttons brings up another dialog that allows you to choose which of the 8 possible colours you wish that item to be. Note that 'black' items will be invisible during play, so they are best avoided.
At the bottom of the main dialog is the 'Hack Protection' check box. Tempest performs some checksum calculations to see if the game has been altered - to prevent bootleggers altering copyright information and suchlike. Unfortunately, the altered levels produced by TempEd can also trigger this system (Tempest Tubes seems to suffer from the same problem). The result is some strange behaviour (or a crash) and it usually starts around the first few 'red' levels. The trigger event seems to be the score reaching 150,000 points. This hack alters the code so that the trigger value is raised to 990,000 points. Note that this hack is partly guesswork, if you have better information, please mail me at temped@thundercross.freeserve.co.uk
When finished, if you have not selected 'cancel', you will be prompted to save the edited file. '136002.119' is the file loaded by MAME.

Edit Text			- edits Tempest's text messages.

You will be prompted to load a *.121 file. This ROM file contains all the text data used by the game. A dialog will appear in which all the messages are listed. Click on a message and it will be copied into the editing window, along with it's position, colour and size. You may now edit the data. Press 'enter' to store the edited message. Selecting a new message will also store the edited message.
Tempest's messages are stored in four different languages. The language of a particular message is shown under the edit window. Most of the data is shared between the different language versions of a message - the y-value, size & colour are all shared : only the x-value differs.
The colour of the message may be changed to any of the standard colours, plus two special ones. 'Flashing' will make the message flash in random colours. 'Info' uses a colour that changes with each cycle of levels - see the 'Edit Colours' option.
Text size can be set to 'big', 'normal' or 'small'. You can make the text even smaller if you wish, but it gets pretty unreadable.
Unlike the previous version of TempEd, you may not enter messages that are longer than the originals.
Do NOT edit the Atari copyright message. Tempest's anti-hack protection will cause the game to crash if this message is changed.
When you have finished, press 'OK' and save your data as a *.121 file. Remember that '136002.121' is the file needed by MAME. You can also store the new text into AAH (see above).

Exit				- exits from the program. Make sure you have saved your data first.


'Edit' Menu
-----------

Select Level	- brings up the level selector screen (with NEW sound effects!).

This screen shows all 16 levels in a 4x4 grid. Use the mouse and left-click to select the level you wish to edit. You can also use this screen to alter the level order. Right-click a level to turn it red. Now, right-click another level and those two levels will be swapped.

Undo		- reverts the current level back to it's status when it was last selected.

Note that this does not just undo the previous action. You may like to re-select the level periodically, in order to update the undo buffer.

Copy		- copies the current level and all it's parameters to an internal buffer.
Paste		- replaces the current level with the contents of the internal buffer.

You must have 'copied' before you can 'paste'. You can 'copy' a level and then load a new set of levels, and 'paste' it into that. This allows you to transfer levels from one file to another.

Edit Level	- starts editing current level.
New level	- clears current level, and begins editing.

Both of these options enter Edit Mode, signified by the level being displayed in red. 'Edit Level' leaves all but the last sector of the current level intact. 'New Level' removes all but the first sector.

End Edit	- stops editing.

This option replaces 'Edit Level' when you are in Edit Mode. You will return to Normal Mode (blue level) - if you have not finished all the sectors in the level, the results may look strange.

Open / Closed	- changes open/closed status of level.

These two options act as radio buttons - selecting one deselects the other. A 'closed' level has 16 sectors and is arranged in a loop. An 'open' level has 15 sectors and does not loop.


'Tools' Menu
------------

Flip Horizontally	- flips the level left-to-right.
Flip Vertically		- flips the level top-to-bottom.

Note that you may need to use the 'Reverse' command afterwards to ensure correct ordering.

Centre		- centres the level within the bounding box.

The level must be fully contained within the bounding box. Any overlap will be 'squashed' to fit.

Rotate (angle)	- rotates the level by the selected amount in degrees.

Scale Points	- scales the level by moving it's points.

You can scale the X & Y axes independently by unchecking the 'Scale equally' box. Remember to keep the points within the bounding box.

Scale Level	- scales the level by changing it's 'scale' parameter.

This alters a value used by the arcade game to scale the level. Smaller numbers represent bigger levels. Note that, unlike 'Scale Points', this option scales the bounding box as well.

Reverse		- reverses the level ordering.

Tempest expects the sectors to run in anti-clockwise order. If they don't, the level will be 'inside-out', and the Claw (player) will face away from the centre. Use 'Reverse' to correct this as needed.

Kaleidoscope	- various level-creation functions:
	1-Axis Rotate	- takes the first 8 sectors and rotates them to complete the level.
	2-Axis Rotate	- takes the first 4 sectors and rotates them to complete the level.
	1-Axis Mirror	- takes the first 8 sectors and reflects them to complete the level.
	2-Axis Mirror	- takes the first 4 sectors and reflects them to complete the level.

Creating 'closed' levels with constant sector width is quite hard, and these functions are designed to help. Use Edit Mode to create 4 or 8 sectors, and then use one of the 'Kaleidoscope' functions to finish the level. You can also use 'Kaleidoscope' in Normal Mode if you wish.
'1-Axis Mirror' has some special functions. First, it rotates the level so that the axis of symmetry is vertical (this almost always looks best, but you are free to rotate the level to another position). Secondly, if the level is 'open', the axis of symmetry is moved to be perpendicular to the middle sector of the level.
'2-Axis Mirror' is the only one of the 'Kaleidoscope' functions that depends on the orientation of the level. Use the 'Rotate' function first for different results.

Set Angle Step	- changes the step size used with the keyboard 'rotate' commands.

See below for a description of the keyboard commands.

Bend		- toggles the state of the 'bend' parameter.

The 'bend' parameter is used in Edit Mode. If you rotate a sector that is in the middle of the level, 'bend' determines if the rest of the level will also rotate or not. If 'bend' is checked, the level will rotate.


'Display' Menu
--------------

3D View / 2D View	- determines how the level is drawn.

The default, '3D View', displays the level as it will appear in Tempest. '2D View' removes the perspective effects, and may be helpful in some circumstances.

ROM / Accurate Values	- determines how the points in the level are drawn.

The default, 'ROM values', displays the level as it will appear in Tempest, that is all the points are within the bounding box. If you have edited the level so that some points are outside the box, they will appear 'squashed' in order to fit. If you select 'Accurate Values' you will see the points even if they are outside the box. 'Accurate Values' are the values saved by TLD files, 'ROM values' are the values saved by 118 files. You should always select 'ROM values' before saving a 118 file, in order to check that everything looks OK.

Safe Frame		- toggles the appearance of the 'safe frame'.

The safe frame represents the maximum extents used by any of Tempest's original levels. If any parts of your level lie outside this frame, they may be off-screen, or overwrite the score information.

Bounding Box		- toggles the appearance of the 'bounding box'.

The bounding box represents the absolute limits of the level. The arcade game cannot display any points that are outside this box. TempEd will 'squash' any points that are outside in order to fit. You can switch between 'ROM values' & 'Accurate Values' to see if this affects your level.

Claw			- toggles the appearance of the 'claw'.

The Claw is the 'ship' controlled by the player. It should face 'inwards', towards the centre of the level. Use the 'Reverse' command if this is not so.


'Help' Menu
-----------

ReadMe		- displays this file.

About TempEd	- copyright, version and author information.


Mouse Controls
--------------

In Edit Mode or Normal Mode :

LMB + Move Mouse	- move level.
RMB			- popup menu.
MMB + Move Mouse	- camera height up/down.
Mouse Wheel		- scale level up/down.


Keyboard Commands
-----------------

These keys work in both Edit Mode and Normal Mode :

Q/A			- height offset up/down.

Moves the level up and down the screen.

W/S			- camera height up/down.

Changes the player's 'eye level'.

+/- (on numeric keypad)	- scale level up/down.

Similar to the menu option.

Ins/Del			- scale points up/down.

Similar to the menu option.

Home			- centres the level within the bounding box.

As per the menu command.


These keys work only in Normal Mode (blue level) :

Cursor keys		- move level.

Remember to keep the points within the bounding box, although you can use the 'squashing' effect to help shape your levels.

Z/X			- rotate level clockwise/anti-clockwise.

The level will be rotated by the current angle step size.

4/6 (on numeric keypad)	- interactive kaleidoscope.

Combines 'rotate' with '2-axis mirror'. The level will be rotated by the current angle step size.

F1			- select level.

As per the menu command.

F2			- new level.

As per the menu command.


These keys work only in Edit Mode (red level) :

Note : the 'current' sector is the one displayed in yellow.

Spacebar		- next sector.

Creates a new sector with the same width and orientation as the current one. If you have created all the sectors, you will return to Normal Mode.

Backspace		- delete sector.

Deletes the current sector, if it is the last one in the level.

Cursor keys		- change current sector.

You can select any sector to be the current sector.

Z/X			- rotate current sector clockwise/anti-clockwise.

The sector will rotate around the brighter of the two sector edges. The sector will be rotated by the current angle step size.

Page up/Page down	- increase/decrease width of current sector.

Use with care. Levels with differing sector widths can look ugly.


Feedback
--------

Mail bug reports and (useful) suggestions to temped@thundercross.freeserve.co.uk
Check the TempEd homepage at http://www.thundercross.freeserve.co.uk/temped for the latest information.


Thanks
------

Dave Theurer	- for writing Tempest, obviously.
Duncan Brown	- for creating Tempest Tubes, an invaluable reference.
The Tempest Code Project [http://www.ionpool.net/arcade/tempest_code_project/tempest_code_project.html]


Legal
-----

Tempest is (c) Atari 1980.
Atari Arcade Hits is (c) Hasbro Interactive 1999.
TempEd is (c) Simon Mills 1999-2005.

Use of this program is at your own risk. In particular, use of ROM files created in TempEd with a real Tempest arcade game is discouraged - it may be possible to create levels that would damage a vector monitor.

